{{extend "base.html"}}

{{block head}}

    <script>
		var datagrid;
		
		$(function(){
			datagrid = $('#user').datagrid({
				url: '/userpost/user',
				iconCls:'icon-tip',
				width:'auto',
				height:'auto',
				title: '',
				nowrap: true,
				autoRowHeight: false,
				striped: true,
				collapsible:true,
				idField:'id',
				pagination:true,  //分页
				//rownumbers:true, //显示行号
				pageSize:20,
				pageList:[20,30],
				loadMsg:'正在载入数据...',
				//自适应高度
				fit:true,
				//自动扩大或缩小列的尺寸以适应表格的宽度并且防止水平滚动
				fitColumns: true,
				frozenColumns : [ [ {
					title : '编号',
					field : 'id',
					width : 50,
					sortable : true,
					checkbox : true
					}, {
						title : '用户名',
						field : 'username',
						width : 120,
				} ] ],
				columns:[[{
					title : '真实姓名',
					field : 'nickname',
					width : 100
				},{
					title : '超级管理员',
					field : 'is_superuser',
					width : 100
				},{
					title : '移动电话',
					field : 'mobile',
					width : 100
				},{
					title : '邮箱',
					field : 'email',
					width : 100
				},{
					title : '最后登录时间',
					field : 'last_login',
					width : 100
				},{
					title : '用户状态',
					field : 'deleted',
					width : 100
				}]],
				toolbar:[ {
					text : '增加',
					iconCls : 'icon-add',
					handler : function() {
						append();
					}
				}, '-', {
					text : '锁定登录',
					iconCls : 'ext-icon-lock',
					handler : function() {
						locklogin();
					}
				}, '-', {
					text : '恢复登录',
					iconCls : 'ext-icon-lock_open',
					handler : function() {
						unlocklogin();
					}
				}, '-', {
					text : '修改',
					iconCls : 'icon-edit',
					handler : function() {
						edit();
					}
				}, '-', {
					text : '取消选中',
					iconCls : 'icon-undo',
					handler : function() {
						datagrid.datagrid('clearSelections');
						datagrid.datagrid('unselectAll');
					}
				}, '-', {
					text : '重置密码',
					iconCls : 'icon-undo',
					handler : function() {
						makeuserpass();
					}
				}, '-', {
					text : '彻底删除',
					iconCls : 'icon-remove',
					handler : function() {
						remove();
					}
				}, '-'],
				onRowContextMenu : function(e, rowIndex, rowData) {
					e.preventDefault();
					$(this).datagrid('unselectAll');
					$(this).datagrid('selectRow', rowIndex);
					$('#menu').menu('show', {
						left : e.pageX,
						top : e.pageY
					});
				}
			}); 
		});

	function makeuserpass() {
		var rows = datagrid.datagrid('getSelections');
		if (rows.length == 1) {
			var p = parent.sy.dialog({
				title : '重置密码',
				href : '/user/userpass?id=' + rows[0].id,
				width : 450,
				height : 350,
				buttons : [ {
					text : '编辑',
					handler : function() {
						var f = p.find('form');
						f.form('submit', {
							url : '/user/userpasssave',
							success : function(d) {
								var json = $.parseJSON(d);
								if (json.success) {
									datagrid.datagrid('reload');
									p.dialog('close');
								}
								parent.sy.messagerShow({
									msg : json.msg,
									title : '提示'
								});
							}
						});
					}
				} ],
				onLoad : function() {
					var f = p.find('form');
					f.form('load', {
						id : rows[0].id,
					});
				}
			});
		} else if (rows.length > 1) {
			parent.sy.messagerAlert('提示', '同一时间只能编辑一条记录！', 'error');
		} else {
			parent.sy.messagerAlert('提示', '请选择要编辑的记录！', 'error');
		}
	}
		  
	function edit() {
		var rows = datagrid.datagrid('getSelections');
		if (rows.length == 1) {
			var p = parent.sy.dialog({
				title : '编辑用户',
				href : '/user/useredit?id=' + rows[0].id,
				width : 450,
				height : 350,
				buttons : [ {
					text : '编辑',
					handler : function() {
						var f = p.find('form');
						f.form('submit', {
							url : '/user/usersave',
							success : function(d) {
								var json = $.parseJSON(d);
								if (json.success) {
									datagrid.datagrid('reload');
									p.dialog('close');
								}
								parent.sy.messagerShow({
									msg : json.msg,
									title : '提示'
								});
							}
						});
					}
				} ],
				onLoad : function() {
					var f = p.find('form');
					f.form('load', {
						id : rows[0].id,
						user_name : rows[0].username,
						user_real_name : rows[0].nickname,
						user_phone : rows[0].mobile,
						user_email : rows[0].email,
					});
					var roleid = f.find('input[name=roleid]');
					var roleIdsCombobox = roleid.combobox({
							url : '/authrolepost/roleinfo',
							valueField : 'id',
							textField : 'rolename',
							editable : false,
							panelHeight : 'auto'
					});
				}
			});
		} else if (rows.length > 1) {
			parent.sy.messagerAlert('提示', '同一时间只能编辑一条记录！', 'error');
		} else {
			parent.sy.messagerAlert('提示', '请选择要编辑的记录！', 'error');
		}
	}
	function append() {
		var p = parent.sy.dialog({
			title : '添加用户',
			href : '/user/useradd',
			width : 450,
			height : 350,
			buttons : [ {
				text : '添加',
				handler : function() {
					var f = p.find('form');
					f.form('submit', {
						url : '/user/usersave',
						success : function(d) {
							var json = $.parseJSON(d);
							if (json.success) {
								datagrid.datagrid('reload');
								p.dialog('close');
							}
							parent.sy.messagerShow({
								msg : json.msg,
								title : '提示'
							});
						}
					});
				}
			} ],
			onLoad : function() {
				var f = p.find('form');
				var roleid = f.find('input[name=roleid]');
				var roleIdsCombobox = roleid.combobox({
						url : '/authrolepost/roleinfo',
						valueField : 'id',
						textField : 'rolename',
						editable : false,
						panelHeight : 'auto'
				});
			}
		});
	}
	
	function remove() {
		var rows = datagrid.datagrid('getChecked');
		var ids = [];
		if (rows.length > 0) {
			parent.sy.messagerConfirm('请确认', '您要删除当前所选项目？', function(r) {
				if (r) {
					for ( var i = 0; i < rows.length; i++) {
						ids.push(rows[i].id);
					}
					$.ajax({
						url : '/user/userdel',
						data : {
							id : ids.join(',')
						},
						dataType : 'json',
						success : function(d) {
							datagrid.datagrid('load');
							datagrid.datagrid('unselectAll');
							parent.sy.messagerShow({
								title : '提示',
								msg : d.msg
							});
						}
					});
				}
			});
		} else {
			parent.sy.messagerAlert('提示', '请勾选要删除的记录！', 'error');
		}
	}  
	function locklogin() {
			var rows = datagrid.datagrid('getChecked');
			var ids = [];
			if (rows.length > 0) {
				parent.sy.messagerConfirm('请确认', '您要锁定当前所选项目用户登录？', function(r) {
					if (r) {
						for ( var i = 0; i < rows.length; i++) {
							ids.push(rows[i].id);
						}
						$.ajax({
							url : '/user/userlocklogin',
							data : {
								id : ids.join(',')
							},
							dataType : 'json',
							success : function(d) {
								datagrid.datagrid('load');
								datagrid.datagrid('unselectAll');
								parent.sy.messagerShow({
									title : '提示',
									msg : d.msg
								});
							}
						});
					}
				});
			} else {
				parent.sy.messagerAlert('提示', '请勾选要锁定登录用户的记录！', 'error');
			}
	}  
	function unlocklogin() {
		var rows = datagrid.datagrid('getChecked');
		var ids = [];
		if (rows.length > 0) {
			parent.sy.messagerConfirm('请确认', '您要恢复当前所选项目用户登录？', function(r) {
				if (r) {
					for ( var i = 0; i < rows.length; i++) {
						ids.push(rows[i].id);
					}
					$.ajax({
						url : '/user/userunlocklogin',
						data : {
							id : ids.join(',')
						},
						dataType : 'json',
						success : function(d) {
							datagrid.datagrid('load');
							datagrid.datagrid('unselectAll');
							parent.sy.messagerShow({
								title : '提示',
								msg : d.msg
							});
						}
					});
				}
			});
		} else {
			parent.sy.messagerAlert('提示', '请勾选要恢复登录用户的记录！', 'error');
		}
	}  
	</script>
{{end}}

{{block content}}

<table id="user"></table>

{{end}}
